import {defineConfig} from 'vitest/config'
// Node.js 内置的 path 模块
import * as path from 'path'

// 项目中 src 目录的绝对路径
// __dirname 表示当前文件所在目录的绝对路径
const srcAbsolutePath: string = path.resolve(__dirname, './src')

export default defineConfig({
  // 解析器配置
  resolve: {
    // 配置别名解析
    alias: {
      // 将项目文件中使用的 `@` 解析为 `src` 目录的绝对路径
      '@': srcAbsolutePath,
    },
  },
  // 测试配置
  test: {
    // 启用全局 API（如 describe、it、expect 等）
    globals: true,
    // 测试环境（默认为 'node'，可选 'jsdom'、'happy-dom' 等）
    environment: 'jsdom',
    // 测试文件匹配规则
    include: ['**/*.{test,spec}.{js,ts}'],
    // 覆盖率配置
    coverage: {
      provider: 'istanbul', // 或 'c8'
      reporter: ['text', 'json', 'html'],
    },
  },
})
